#pragma once
#include <string>

class Student
{

public:
    // 构造函数
    Student(int id, const std::string &name, float score);

    // 默认构造函数
    Student();

    // 获取学号
    int getId() const;

    // 获取姓名
    std::string getName() const;

    // 获取成绩
    float getScore() const;

    // 设置姓名
    void setName(const std::string &newName);

    // 设置成绩
    void setScore(float newScore);

    // 重载<<运算符，方便输出学生信息
    friend std::ostream &operator<<(std::ostream &os, const Student &student);

private:
    int id;
    std::string name;
    float score;
};

/* 接口说明
构造函数：用于创建Student对象，初始化学生的学号、姓名和成绩。
getId：获取学生的学号，无参数，返回整型值。
getName：获取学生的姓名，无参数，返回字符串。
getScore：获取学生的成绩，无参数，返回浮点型值。
setName：设置学生的姓名，接收新姓名作为参数，无返回值。
setScore：设置学生的成绩，接收新成绩作为参数，无返回值。
operator<<：重载输出运算符，用于以友好的格式输出学生信息。
*/